// https://leetcode.cn/problems/detect-capital/
// Created by ade on 2022/8/9.
// 一下情况正确
// 全部字母都是大写，比如 "USA" 。
// 单词中所有字母都不是大写，比如 "leetcode" 。
// 如果单词不只含有一个字母，只有首字母大写， 比如 "Google" 。
//
#include <iostream>
#include <string>

using namespace std;

class Solution {
public:
    bool detectCapitalUse(string word) {
        int len = word.size();
        if (word[0] >= 'A' && word[0] <= 'Z') {
            // 首字母大写
            if (len <= 2) return true;
            if (word[1] >= 'A' && word[1] <= 'Z') {
                for (int i = 2; i < len; i++) {
                    if (word[i] >= 'a' && word[i] <= 'z') return false;
                }
            } else {
                for (int i = 2; i < len; i++) {
                    if (word[i] >= 'A' && word[i] <= 'Z') return false;
                }
            }
        } else {
            for (int i = 1; i < len; i++) {
                if (word[i] >= 'A' && word[i] <= 'Z') return false;
            }
        }
        return true;
    }
};

int main() {
    Solution so;
    string a = "USA";
    if (so.detectCapitalUse(a)) cout << "yes" << endl;
    else cout << "no" << endl;
    return 0;
}